#ifndef IMAGEAREA_H_
#define IMAGEAREA_H_

#include "veccontinentes.h"
#include "coneccion.h"
#include <vector>
#include <gtkmm/drawingarea.h>
#include <gdkmm.h>
#include <gdkmm/pixbuf.h>
#include <glibmm/refptr.h>
#include <cairomm/surface.h>
#include <string>
using namespace std;

class ImageArea : public Gtk::DrawingArea{
private:
		VecContinentes &vContinentes;
		string formato,filename;
		bool &cargarImagen;
		
		void dibujarRecta(int ini[2], int fin[2]);
		void dibujarCirculo(int x, int y, int radio, string nombre);
		void dibujarGraficos();
		
	public:
		ImageArea(VecContinentes &vC, bool &ci): vContinentes(vC),
											 	 cargarImagen(ci)
		{
			loaded_ = false;
		};
															
		virtual ~ImageArea(){};
    
		bool loadFile(const Glib::ustring& file_name);
		void cargarRuta(string ruta);
		void redraw();
		void guardarImagen(string ruta);
    
	protected:
		Cairo::RefPtr< Cairo::Context > image_context_ptr_;
		Cairo::RefPtr< Cairo::ImageSurface > image_surface_ptr_;
		Glib::RefPtr< Gdk::Pixbuf > image_ptr_;
		bool loaded_;
    
		//Override default signal handler:
		virtual bool on_expose_event(GdkEventExpose* event); 
    
};

#endif /*IMAGEAREA_H_*/

